6 #ifndef _CFEXPDATACONTAINER_H_ 7 #define _CFEXPDATACONTAINER_H_ 15 using t_ModelData = std::map<t_ModelDataKey, Ptr<t_ModelDataDta>>;
32 virtual size_t GetId () = 0;
84 using t_IterFunc = std::function<bool(Ptr<ICFEXPModelDataIntf>)>;
88 virtual bool ContainsKey(
size_t id,
size_t opt_id) = 0;
89 virtual bool RemoveItem (
size_t id,
size_t opt_id) = 0;
90 virtual bool RemoveItem (
const std::map<
size_t, std::vector<size_t>> & ids) = 0;
91 virtual bool RemoveAll (
size_t opt_id) = 0;
96 virtual size_t ItemCount(
size_t opt_id) = 0;
97 virtual bool IsEmpty (
size_t opt_id) = 0;
125 virtual bool ContainsKey (
size_t id,
size_t opt_id)
override {
return Contains(
id); }
126 virtual bool RemoveItem (
size_t id,
size_t opt_id)
override;
127 virtual bool RemoveItem (
const std::map<
size_t, std::vector<size_t>> & ids)
override;
128 virtual bool RemoveAll (
size_t opt_id)
override;
130 virtual size_t ItemCount (
size_t opt_id)
override;
131 virtual bool IsEmpty (
size_t opt_id)
override;
145 #define SETTING_CONTAINER_NAME "SETTING_CONTAINER" 172 #define MATERIAL_CONTAINER_NAME "MATERIAL_CONTAINER" 199 #define FINITE_ELEMENT_CONTAINER_NAME "FE_CONTAINER" 226 #define FINITE_ELEMENT_NODE_CONTAINER_NAME "FE_NODE_CONTAINER" 241 std::map<size_t, std::vector<size_t>> _thread_mapper;
253 #define FINITE_ELEMENT_NODE_CONSTRAIN_CONTAINER_NAME "FE_NODE_CONSTRAIN_CONTAINER" 280 #define FINITE_ELEMENT_NODE_LOAD_CONTAINER_NAME "FE_NODE_LOAD_CONTAINER" 307 #define FINITE_ELEMENT_RESULT_CONTAINER_NAME "FE_RESULT_CONTAINER" 350 virtual bool ContainsKey (
size_t id,
size_t opt_id)
override;
351 virtual bool RemoveItem (
size_t id,
size_t opt_id)
override;
352 virtual bool RemoveItem (
const std::map<
size_t, std::vector<size_t>> & ids)
override;
353 virtual bool RemoveAll (
size_t opt_id)
override;
355 virtual size_t ItemCount (
size_t opt_id)
override;
356 virtual bool IsEmpty (
size_t opt_id)
override;
360 std::map<ESystemElementType, Ptr<ICFEXPDataModelContIntf>> _model_container;
363 #endif // !_CFEXPDATACONTAINER_H_ virtual bool IsEmpty(size_t opt_id) override
Definition: FEXPDataContainer.cpp:365
CFEXPFiniteElementNodeContainer()
Definition: FEXPDataContainer.cpp:204
virtual bool ContainsKey(size_t id, size_t opt_id)=0
#define FINITE_ELEMENT_NODE_CONSTRAIN_CONTAINER_NAME
Definition: FEXPDataContainer.h:253
virtual Ptr< ICFEXPModelDataIntf > GetModelElement(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.cpp:288
std::function< bool(Ptr< ICFEXPModelDataIntf >)> t_IterFunc
Definition: FEXPDataContainer.h:84
virtual ~CFEXPFiniteElementNodeContainer()
Definition: FEXPDataContainer.h:234
virtual bool RemoveItem(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.cpp:123
Container for FEs.
Definition: FEXPDataContainer.h:202
Definition: FEXPDataContainer.h:25
virtual size_t GetKey() override
Definition: FEXPDataContainer.h:61
virtual ~CFEXPFiniteElementNodeConstrainContainer()
Definition: FEXPDataContainer.h:261
CFEXPFiniteElementNodeLoadContainer()
Definition: FEXPDataContainer.cpp:224
CFEXPModelContainerBase()
Definition: FEXPDataContainer.cpp:25
virtual size_t ItemCount(size_t opt_id) override
Definition: FEXPDataContainer.cpp:109
CFEXPFiniteElementContainer()
Definition: FEXPDataContainer.cpp:194
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:156
Container for FE nodes.
Definition: FEXPDataContainer.h:229
#define FINITE_ELEMENT_NODE_LOAD_CONTAINER_NAME
Definition: FEXPDataContainer.h:280
virtual ~CFEXPModelDataWrapper()
Definition: FEXPDataContainer.h:58
virtual bool RemoveItem(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.cpp:323
Container for results of a numerical simulation.
Definition: FEXPDataContainer.h:310
virtual void IterateModElems(t_IterFunc function, size_t opt_id) override
Definition: FEXPDataContainer.cpp:75
virtual ~CFEXPModelContainerBase()
Definition: FEXPDataContainer.h:117
Definition: FEXPDataContainer.h:25
Definition: FEXPDataContainer.h:25
Definition: FEXPCommon.h:276
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:237
virtual size_t GetThreadId()=0
virtual bool RemoveAll(size_t opt_id) override
Definition: FEXPDataContainer.cpp:344
#define FINITE_ELEMENT_RESULT_CONTAINER_NAME
Definition: FEXPDataContainer.h:307
Container data wrapper.
Definition: FEXPDataContainer.h:52
Definition: FEXPDataContainer.h:25
Container for settings.
Definition: FEXPDataContainer.h:148
Base interface for data serialization.
Definition: FEXPSerialization.h:20
virtual Ptr< ICFEXPModelDataIntf > GetModelElement(size_t id, size_t opt_id)=0
CFEXPFiniteElementResultContainer()
Definition: FEXPDataContainer.cpp:234
virtual bool ContainsKey(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.h:125
virtual void ScheduleThreads(size_t opt_id)=0
virtual size_t GetModelId()=0
#define MATERIAL_CONTAINER_NAME
Definition: FEXPDataContainer.h:172
ESystemElementType
The type of system element.
Definition: FEXPDataContainer.h:25
Container for load of FE nodes.
Definition: FEXPDataContainer.h:283
Definition: FEXPDataContainer.h:25
std::map< size_t, std::map< size_t, size_t > > _thread_mapper
Definition: FEXPDataContainer.h:133
virtual void ScheduleThreads(size_t opt_id) override
Definition: FEXPDataContainer.cpp:86
virtual bool RemoveAll(size_t opt_id) override
Definition: FEXPDataContainer.cpp:149
virtual size_t ItemCount(size_t opt_id) override
Definition: FEXPDataContainer.cpp:358
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:264
virtual void ScheduleThreads(size_t opt_id) override
Definition: FEXPDataContainer.cpp:351
std::map< t_ModelDataKey, Ptr< t_ModelDataDta > > t_ModelData
Definition: FEXPDataContainer.h:15
virtual ~CFEXPFiniteElementResultContainer()
Definition: FEXPDataContainer.h:315
Definition: FEXPDataContainer.h:25
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:210
virtual bool IsEmpty(size_t opt_id)=0
virtual bool IsEmpty(size_t opt_id) override
Definition: FEXPDataContainer.cpp:116
virtual Ptr< ICFEXPModelDataIntf > GetModelElement(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.cpp:37
virtual bool RemoveItem(size_t id, size_t opt_id)=0
virtual size_t GetType()=0
virtual ~CFEXPMaterialContainer()
Definition: FEXPDataContainer.h:180
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:183
virtual ~ICFEXPDataModelContIntf()
Definition: FEXPDataContainer.h:79
virtual void AddModelElement(Ptr< ICFEXPModelDataIntf > &el, size_t opt_id)=0
CFEXPMainDataContainer()
Definition: FEXPDataContainer.cpp:245
Container for solid materials.
Definition: FEXPDataContainer.h:175
void add_new_thread_item(size_t thread, size_t id)
Definition: FEXPDataContainer.cpp:157
Definition: FEXPDataContainer.h:25
virtual size_t ItemCount(size_t opt_id)=0
virtual void SetThreadId(size_t id)=0
Base container class.
Definition: FEXPDataContainer.h:112
Definition: FEXPDataContainer.h:25
virtual bool ContainsKey(size_t id, size_t opt_id) override
Definition: FEXPDataContainer.cpp:316
#define FINITE_ELEMENT_CONTAINER_NAME
Definition: FEXPDataContainer.h:199
virtual bool RemoveAll(size_t opt_id)=0
virtual void AddModelElement(Ptr< ICFEXPModelDataIntf > &el, size_t opt_id) override
Definition: FEXPDataContainer.cpp:30
virtual ~CFEXPFiniteElementContainer()
Definition: FEXPDataContainer.h:207
CFEXPModelDataWrapper(Ptr< ICFEXPModelDataIntf > &element)
Definition: FEXPDataContainer.cpp:10
CFEXPSettingContainer()
Definition: FEXPDataContainer.cpp:174
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:318
virtual ~CFEXPSettingContainer()
Definition: FEXPDataContainer.h:153
Base interface for system element.
Definition: FEXPDataContainer.h:28
Main system container.
Definition: FEXPDataContainer.h:336
Ptr< ICFEXPDataModelContIntf > get_container(size_t opt_id)
Definition: FEXPDataContainer.cpp:372
Ptr< ICFEXPModelDataIntf > GetData()
Definition: FEXPCommon.h:441
virtual void IterateModElems(t_IterFunc function, size_t opt_id) override
Definition: FEXPDataContainer.cpp:302
Base wrapper for items in container.
Definition: FEXPCommon.h:434
virtual void IterateModElems(t_IterFunc function, size_t opt_id)=0
virtual size_t GetThreadNumber()=0
#define SETTING_CONTAINER_NAME
Definition: FEXPDataContainer.h:145
#define FINITE_ELEMENT_NODE_CONTAINER_NAME
Definition: FEXPDataContainer.h:226
Container for constrains of FE nodes..
Definition: FEXPDataContainer.h:256
std::string t_ModelDataKey
Definition: FEXPDataContainer.h:13
CFEXPMaterialContainer()
Definition: FEXPDataContainer.cpp:184
Definition: FEXPCommon.h:475
Base interface for system container.
Definition: FEXPDataContainer.h:76
virtual ~CFEXPFiniteElementNodeLoadContainer()
Definition: FEXPDataContainer.h:288
CFEXPFiniteElementNodeConstrainContainer()
Definition: FEXPDataContainer.cpp:214
virtual std::string GetContainerName() const override
Definition: FEXPDataContainer.h:291
virtual ~CFEXPMainDataContainer()
Definition: FEXPDataContainer.h:341
std::vector< std::string > t_ModelDataDta
Definition: FEXPDataContainer.h:14
virtual void AddModelElement(Ptr< ICFEXPModelDataIntf > &el, size_t opt_id) override
Definition: FEXPDataContainer.cpp:279